package pzl.com.library.chart;

import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;

import java.util.ArrayList;

import pzl.com.library.model.XBounds;
import pzl.com.library.renderer.BaseAxisRenderer;
import pzl.com.library.renderer.LineAxisRenderer;

/**
 * @author zl.peng
 * @version [1.0, 2016-11-29]
 *          <p/>
 *          数据线性分布展示的图表（线性分布的折线图，线性分布的直方图...）
 */
public abstract class LinearChart extends BaseChart {
    private static final String TAG = "LinearChart";
    /**
     * 线性分布数据的可视域
     */
    private XBounds mXBounds;


    public LinearChart(Context context) {
        this(context, null);
    }

    public LinearChart(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public LinearChart(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public void init() {
        Log.d(TAG, "LinearChart init");
        mXBounds = new XBounds();
        super.init();
    }

    public XBounds getXBounds() {
        return mXBounds;
    }

    /**
     * 线性图表的坐标轴渲染器（可能有4个:上，下，左，右...）
     * 默认的，可复写
     */
    @Override
    protected ArrayList<BaseAxisRenderer> onCreateAxisRenderer() {
        ArrayList<BaseAxisRenderer> axisRenderers = new ArrayList<>();
        LineAxisRenderer bottomAxisRenderer = new LineAxisRenderer();//默认一个底部坐标轴
        axisRenderers.add(bottomAxisRenderer);
        return axisRenderers;
    }


}
